package com.dnjn.happiness.emo.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 任务状态记录对象 emo_user_record_task_timeline
 * 
 * @author amber
 * @date 2024-01-12
 */
@Schema(name = "UserRecordTaskTimeline", description = "任务状态记录")
@Accessors(chain = true)
@ToString
@Getter
@Setter
public class UserRecordTaskTimelineVO  implements Serializable
{
    private static final long serialVersionUID = 1L;

    /**  */
    @Schema(description = "内容")
    private String content;

    /**  */
    private String addressline;

    /** emo_user_record_task.task_status */
    @Schema(description = "任务状态 A_APPLIED(待接收) B_RECEIVED(待打卡) C_CHECKED_IN(待反馈) D_FEEDBACK_GIVEN(待评价) F_DONE(已结束)T_TIMED_OUT(超时)",requiredMode=Schema.RequiredMode.REQUIRED)
    private String taskStatus;

    /** PK */
    @Schema(description = "id")
    private Long taskTimelineId;

    /** 记录点状态 OK-正常 NG-异常 */
    @Schema(description = "记录点状态 OK-正常 NG-异常")
    private String recordStatus;

    /** 是否删除|0-否 1-是 */
    @Schema(description = "是否删除|0-否 1-是")
    private String deleted;

    /**  */
    @Schema(description = "附件")
    private String attachmentJson;

    /** 当前时间 */
    @Schema(description = "当前时间",requiredMode=Schema.RequiredMode.REQUIRED)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime dateCurr;

    /** 纬度 */
    @Schema(description = "纬度")
    private String latitude;

    /**  */
    @Schema(description = "任务id",requiredMode=Schema.RequiredMode.REQUIRED)
    private Long taskId;

    /** 经度 */
    @Schema(description = "经度")
    private String longitude;

    @Schema(description = "标识是否是仅仅打卡或者同时提交-sameTime当type不是null,它的值为sameTime时就是同时提交")
    private String type;

    @Schema(description = "备注")
    private String  remark;


}
